One major telecommunication network evolution in recent history was the physical and functional separation of a media gateway from a media gateway controller. Typically, the media gateway (MGW) provides physical resources and services related to the bearer path of a call, while the media gateway controller (MGC) handles signaling and control functions. One MGC may control multiple MGWs. The physical and functional separation of MGW from MGC allows for the evolution of MGW or MGC technologies with minimal impact on the other. This independence of MGW and MGC from each other is made possible in part by the use of standard protocols that are used by an MGC to control one or more MGWs. The standard protocols used between an MGC and MGWs include H.248/Megaco, media gateway control protocol (MGCP), simple gateway control protocol (SGCP) and other variants, generically referred to as GCPs, or gateway control protocols. GCP messages may include commands sent from the MGC to the MGW, responses sent from the MGW to the MGC, and other messages from an MGC to an MGW and vice versa. For example, the MGW may acknowledge requests from the MGC by providing event notifications to MGC.
Another main function of MGWs is to mediate or perform conversion between different media types. For this reason, an MGW normally is equipped to accommodate the media streams of more than one network technology. For example, an MGW may be used to provide an interface between a public switched telephone network (PSTN) and a packet-based network and to convert data from one format and protocol into another. PSTN networks may use time division multiplexing (TDM), in which the caller's voice is digitized and assigned to a time slot in a frame of data traveling between nodes in the PSTN network, while packet networks may use transmission control protocol (TCP) or user-datagram protocol (UDP) in conjunction with Internet protocol (IP) to transport packets of data such as digitized voice. An MGW, for example, may accommodate TDM, IP, asynchronous transfer mode (ATM) and wireless variants of the media streams. Thus, a MGW may contain a wide variety of media adapters, and each type of adapter may provide specific physical and logical resources.
Two basic constructs in a GCP are terminations and contexts. A context represents a call in a MGW, and a termination is a logical entity that is mapped to a physical resource on a MGW that sources and/or sinks media and/or control streams. One context may contain one or more terminations. Each termination may have a unique identity, referred to as a Termination ID, or TID, assigned by the MGW at the time of its creation. Two types of terminations are physical and ephemeral terminations. Typically, physical terminations, such as TDM channels, exist for as long as they are provisioned in a MGW, while ephemeral terminations, which represent ephemeral information flows, such as RTP flows, would usually exist only for the duration of their use. The physical terminations in voice calls are mapped to physical channels, such as DS0s, which are contained in a physical network trunk such as DS1/E1, DS3/E3, or OC3/STM-1, etc. Those trunks are physically connected to other network nodes. A call agent (CA) at a MGC or a softswitch knows the topologies (how the physical trunks are connected to the network) and routing (what the phones are connected to) through network provisioning of the MGW's physical termination resources into its resource database, so that the call manager/MGC can manage the physical terminations during runtime as a master. An MGW, as a slave, creates or adds a connection using one of the terminations specified by the CA/MGC, and, if requested by the CA/MGC, reports any media events associated with the termination.
The MGC is the resource manager for the physical termination in the associated MGWs, and as a result, one of the key issues for a MGC to control a MGW is how to reference the physical resources within the MGW. In other words, the way a MGC references a resource at a MGW must be understood by the MGW in order for the MGW to understand how to carry out a MGC command. The MGC and the MGW it controls must be able to unambiguously communicate with each other regarding a particular resource, such as a termination, within the MGW.
One difficulty with identifying a TID between an MGW and an MGC lies in the fact that the gateway control protocol (GCP) standards define the termination ID format very loosely. One reason that the TID format is loosely defined in a GCP standard is that the structure of physical resources of one MGW may be quite different from that of another MGW, and thus the TID formats are different as well. Thus, although GCP protocols are open standards, the loosely defined termination ID format hinders providing “Plug-and-Play” capability, because each MGW or MGC vendor may implement their own TID format. Since format of a physical termination ID can vary greatly, even among different media gateways within the same network or controlled by the same MGC, parsing termination ID and specifying a group of resources using wildcarding can be a major challenge for a MGC. This tends to be especially true in a hybrid network, where a MGC may control multiple MGWs from different vendors and a MGW may be also associated with multiple MGCs from different vendors. Thus, even if a GCP-standard-compliant MGW or MGC is added to network, significant integration is required to overcome the interoperability issue, because the MGC must understand this syntax of the additional MGW and be able to use it to specify a single termination resource or to specify a group of resources via a wildcard syntax.
Thus, there is a need for methods, systems, and computer program products for providing a dynamic and flexible media gateway termination identifier.